﻿//勿改
var V1 = "┏━┳━━━━━━━━━┓";
var V2 = "┃花┃脚本仿制　定制脚本┃";
var V3 = "┃老┃技术支持　游戏顾问┃";
var V4 = "┃师┃ＷＺ添加　地图制作┃";
var V5 = "┣━┻━━━━━━━━━┫";
var V6 = "┃　唯一QQ:739977676   ┃";
var V7 = "┗━━━━━━━━━━━┛";
//

importPackage(java.lang);
importPackage(Packages.tools);
importPackage(Packages.client);
importPackage(Packages.server);
importPackage(Packages.tools.packet);
var status = -1;
var 支持强化 = [0, 1, 2, 3, 4, 5, 6, 10, 11, 12, 7];

//不能转移的时装
var 不可转移时装 = [
    1102005,
    1102184,
    1102697,
    1102629,
    1102703,
    1102385,
    1102604,
    1102624,
    1102006,
    1102068,
    1102697,
    1102668,
    1102702,
    1102386,
    1102604,
    1102659];

var 给予属性1, 给予属性2, 给予属性3, 给予属性4, 给予属性5, 给予属性6, 当前装备晋升等级;
//
var 需要点券 = 3000;
//

var 信息 = "\r\n";
信息 += "\r\n  #r·#k装备栏第1格放入:转移属性装备(#r转移完消失#k).";
信息 += "\r\n  #r·#k装备栏第2格放入:被转移属性装备(#r转移保存#k).";


var selectedItem = -1;
var selectedCost = -1;

function start() {
    action(1, 0, 0);
}

function action(mode, type, selection) {
    if (mode == 1) {
        status++;
    } else {
        if (status >= 0) {
            cm.dispose();
            return;
        }
        status--;
    }
    if (status == 0) {
        if (V1 != "┏━┳━━━━━━━━━┓" || V2 != "┃花┃脚本仿制　定制脚本┃" || V3 != "┃老┃技术支持　游戏顾问┃" || V4 != "┃师┃ＷＺ添加　地图制作┃" || V5 != "┣━┻━━━━━━━━━┫" || V6 != "┃　唯一QQ:739977676   ┃" || V7 != "┗━━━━━━━━━━━┛") {
            cm.sendOk("[脚本未授权,请联系脚本作者QQ:739977676]");//中间蓝色框
            cm.dispose();
            return;
        }
        //
        var selStr = "";
        selStr += "#k┏━━━━━━━━━时装属性转移━━━━━━━━━┓#k";
        selStr += "\r\n                   #L0##r开始转移#k#l";
        selStr += "" + 信息 + "";
        selStr += "\r\n\r\n#k┗━━━━━━━━━━━━━━━━━━━━━━━━┛#k";
        selStr += "\r\n需要点券:" + 需要点券 + "" + (cm.getPlayer().getCSPoints(1) < 需要点券 ? "#r[×]#k" : "#g[√]#k") + "";
        cm.sendSimple(selStr);
    } else if (status == 1) {
        if (cm.getInventory(1).isFull(0)) {
            cm.sendOk("对不起,您的背包装备栏已满!\r\n");
            cm.dispose();
            return;
        }
        if (cm.getInventory(1).getItem(1) == null) {
            cm.sendOk("对不起,您的背包第1格没有装备!\r\n");
            cm.dispose();
            return;
        }
        if (cm.getInventory(1).getItem(2) == null) {
            cm.sendOk("对不起,您的背包第2格没有装备!\r\n");
            cm.dispose();
            return;
        }
        if (cm.getInventory(1).getItem(1).getExpiration() != -1) {
            cm.sendOk("不允许转移限时装备!\r\n");
            cm.dispose();
            return;
        }
        if (cm.getInventory(1).getItem(2).getExpiration() != -1) {
            cm.sendOk("不允许转移限时装备!\r\n");
            cm.dispose();
            return;
        }
        if (cm.isCash(cm.getInventory(1).getItem(1).getItemId()) == false) {
            cm.sendOk("只能转移时装!\r\n");
            cm.dispose();
            return;
        }
        if (cm.isCash(cm.getInventory(1).getItem(2).getItemId()) == false) {
            cm.sendOk("只能转移时装!\r\n");
            cm.dispose();
            return;
        }
        //
        var 允许强化的部位 = false;
        for (var i = 0; i < 支持强化.length; i++) {
            if (getItemType(cm.getInventory(1).getItem(1).getItemId()) == 支持强化[i]) {
                允许强化的部位 = true;
                break;
            }
        }
        //
        if (允许强化的部位 == false) {
            cm.sendOk("#r该部位时装不允许转移.\r\n");
            cm.dispose();
            return;
        }
        //
        for (var i = 0; i < 不可转移时装.length; i++) {
            if (cm.getInventory(1).getItem(1).getItemId() == 不可转移时装[i] || cm.getInventory(1).getItem(2).getItemId() == 不可转移时装[i]) {
                cm.sendOk("该时装不支持属性转移!\r\n");
                cm.dispose();
                return;
            }
        }
        //
        if (getItemType(cm.getInventory(1).getItem(1).getItemId()) != getItemType(cm.getInventory(1).getItem(2).getItemId())) {
            cm.sendOk("只能转移相同部位的时装!\r\n");
            cm.dispose();
            return;
        }
        //
        var selStr = "";
        selStr += "#k┏━━━━━━━━━时装属性转移━━━━━━━━━┓#k\r\n";
        selStr += "\r\n       #v" + cm.getInventory(1).getItem(1).getItemId() + "#[消失]   #e#r>>>>>>#k#n   #v" + cm.getInventory(1).getItem(2).getItemId() + "#[保留]";
        selStr += "\r\n\r\n#k┗━━━━━━━━━━━━━━━━━━━━━━━━┛#k";
        selStr += "\r\n右边的装备会百分百继承左边装备的全部属性!";
        selStr += "\r\n请确认您转移的道具,一旦确认不可逆转!";
        cm.sendYesNo(selStr);
    } else if (status == 2) {
        if (cm.getPlayer().getCSPoints(1) < 需要点券) {
            cm.sendOk("点券不足" + 需要点券 + "!\r\n");
            cm.dispose();
            return;
        }
        cm.gainDJ(-需要点券);
        //给予装备
        var 第一格装备 = cm.getInventory(1).getItem(1);
        /*var ii = MapleItemInformationProvider.getInstance();		                
        var type = ii.getInventoryType(cm.getInventory(1).getItem(1).getItemId()); //获得装备的类形
        var toDrop = ii.randomizeStats(ii.getEquipById(cm.getInventory(1).getItem(1).getItemId()).copy(); // 生成一个Equip类*/
        var itemId1 = cm.getInventory(1).getItem(2).getItemId();
        var item = cm.getInventory(1).getItem(2).copy();
        var ii = MapleItemInformationProvider.getInstance();
        var type = ii.getInventoryType(itemId1);
        //var temptime = (System.currentTimeMillis() + 1 * 24 * 60 * 60 * 1000); //时间
        //toDrop.setExpiration(temptime); 
        //toDrop. setFlag(1);//上锁
        item.setStr(第一格装备.getStr());//给力量
        item.setDex(第一格装备.getDex());//给敏捷
        item.setInt(第一格装备.getInt());//给智力
        item.setLuk(第一格装备.getLuk());//给运气
        item.setHp(第一格装备.getHp());//给HP
        item.setMp(第一格装备.getMp());//给MP
        item.setWatk(第一格装备.getWatk());//攻击
        item.setMatk(第一格装备.getMatk());//魔法力
        item.setWdef(第一格装备.getWdef());//物理防御
        item.setMdef(第一格装备.getMdef());//魔法防御
        item.setAcc(第一格装备.getAcc());//命中
        item.setAvoid(第一格装备.getAvoid());//回避
        item.setHands(第一格装备.getHands());//手技
        item.setSpeed(第一格装备.getSpeed());//移动
        item.setLevel(第一格装备.getLevel());//
        item.setUpgradeSlots(第一格装备.getUpgradeSlots());//
        item.setOwner(第一格装备.getOwner());//
        Packages.server.MapleInventoryManipulator.removeFromSlot(cm.getC(), type, 1, 1, false);
        Packages.server.MapleInventoryManipulator.addFromDrop(cm.getC(), item, false);
        cm.removeSlot(1, 2, 1);
        cm.sendOk("转移成功!");
        cm.itemlaba("【时装转移系统】", "玩家 " + cm.getPlayer().getName() + " 使用了时装属性转移系统!", item, 15);
        cm.dispose();
    }
}



//獲取裝備類型  
function getItemType(itemid) {
    var type = Math.floor(itemid / 10000);
    switch (type) {
        case 100:
            return 0; //帽子
        case 104:
            return 1; //上衣
        case 105:
            return 1; //套裝
        case 106:
            return 3; //褲裙
        case 107:
            return 4; //鞋子
        case 108:
            return 5; //手套
        case 110:
            return 6; //披風
        case 115:
            return 8; //護肩
        case 111:
            return 9; //ring
        case 101:
            return 10; //脸饰
        case 102:
            return 11; //眼饰
        case 103:
            return 12; //耳环
        case 112:
            return 13; //吊坠
        case 113:
            return 14; //腰带
        case 114:
            return 15; //勋章
        case 109:
            return 16; //盾牌
        default:
            var type = Math.floor(type / 10);
            if (type == 12 || type == 13 || type == 14 || type == 15 || type == 17) {
                return 7; //时装
            }
            return -1;
    }
}